/****************************************************************************
 *
 *   Copyright (c) 2020-2021 PX4 Development Team. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name PX4 nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include "geo_mag_declination.h"


TEST(GeoLookupTest, declination)
{
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.28006, 0.40063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.48216, 0.3937 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.5068, 0.38792 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.40265, 0.38309 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.21223, 0.37906 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 30.97503, 0.37568 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.72859, 0.37285 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.50633, 0.37046 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.3325, 0.36845 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.21577, 0.36673 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.1437, 0.36526 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.08005, 0.36402 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.96552, 0.36302 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.72203, 0.36233 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.25977, 0.36201 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.48622, 0.3622 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.31629, 0.36304 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.68264, 0.36468 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.5453, 0.36728 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.8998, 0.37096 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.78328, 0.37581 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.27736, 0.38187 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.50598, 0.38915 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.62603, 0.39765 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.81026, 0.40734 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.77551, 0.41825 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -3.99571, 0.43036 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.76338, 0.44364 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.0497, 0.45792 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.88388, 0.47287 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.34559, 0.48793 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.55319, 0.50231 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.65125, 0.51503 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.79848, 0.52495 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -17.15397, 0.531 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.85837, 0.53236 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -21.01038, 0.52868 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.64503, 0.52023 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.7244, 0.50785 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.14702, 0.49282 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -33.77277, 0.47656 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.45232, 0.46042 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -41.05018, 0.44549 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.456, 0.43252 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.58532, 0.42197 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.3745, 0.41406 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -52.77385, 0.40885 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.74166, 0.40635 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.23942, 0.40653 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.22743, 0.40944 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.6597, 0.41519 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.47731, 0.42396 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.60078, 0.43608 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.92385, 0.45188 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.31302, 0.47161 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.61972, 0.49511 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.71377, 0.52136 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.54451, 0.54803 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.22083, 0.57128 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -22.06864, 0.58669 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.60125, 0.59108 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.38323, 0.5841 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.13278, 0.5682 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.69056, 0.54702 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.21386, 0.52388 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.7423, 0.50111 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.37098, 0.48001 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.21257, 0.46119 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.37921, 0.4448 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 28.97632, 0.43077 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.10118, 0.41891 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 30.84264, 0.40895 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.28006, 0.40063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.3535, 0.37412 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.66251, 0.37024 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.80302, 0.367 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.81467, 0.36432 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.73042, 0.3621 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.58144, 0.36029 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.40097, 0.35884 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.22427, 0.35773 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.08408, 0.35692 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 26.00324, 0.35641 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 25.9871, 0.35617 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.01769, 0.35619 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.05039, 0.35648 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.01343, 0.35707 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.81053, 0.358 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.32804, 0.35936 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.44712, 0.3613 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 23.05964, 0.364 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 21.08553, 0.36765 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.48873, 0.37242 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.29005, 0.37844 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.57523, 0.38574 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.495, 0.3943 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.253, 0.40406 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -0.9206, 0.41501 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.80532, 0.42722 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.22626, 0.44082 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.0786, 0.45595 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.33479, 0.47264 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -15.03551, 0.49077 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.27052, 0.50997 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -17.15848, 0.52953 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.8345, 0.54835 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.4493, 0.56486 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -19.17355, 0.57716 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -20.192, 0.58332 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.67405, 0.582 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.72591, 0.5729 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.35, 0.55698 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.43954, 0.5362 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -32.81284, 0.513 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.26575, 0.48972 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.61474, 0.46819 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -42.71645, 0.44959 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.46692, 0.4345 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -47.79074, 0.42308 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.62949, 0.41523 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -50.93346, 0.41073 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.65695, 0.40932 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.75516, 0.41072 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.18077, 0.41471 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.87985, 0.42106 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.79019, 0.4295 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.84813, 0.43962 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -41.01089, 0.45066 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.29519, 0.46147 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.81854, 0.47053 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.81333, 0.47638 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.58846, 0.47816 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.44931, 0.4759 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.62581, 0.47038 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.24893, 0.46262 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.62776, 0.45353 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 7.99221, 0.44378 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.8479, 0.43383 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.20262, 0.42402 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.06681, 0.41462 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.45515, 0.40581 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.38909, 0.39774 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 23.89954, 0.39052 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 25.02838, 0.38419 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 25.82736, 0.37874 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.3535, 0.37412 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.54963, 0.35468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 22.89458, 0.35265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.09018, 0.351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.16986, 0.34969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.1564, 0.34866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.06849, 0.34788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 22.92812, 0.34735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.76389, 0.34707 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.60848, 0.34705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.49201, 0.34732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.43422, 0.34788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43731, 0.34877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.47932, 0.34997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.50743, 0.35151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.43315, 0.35339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.13352, 0.35566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.46224, 0.35844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.27102, 0.36193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.43635, 0.36633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.88594, 0.37188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.62059, 0.37868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.72891, 0.38674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.3901, 0.39596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.14251, 0.40623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.5809, 0.4175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.65636, 0.42991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.16947, 0.44373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -15.01825, 0.45927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.19793, 0.4768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.77736, 0.49642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.86266, 0.51806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.56317, 0.54139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -20.9753, 0.56562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -21.19416, 0.58923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.34721, 0.60977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.62364, 0.6241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.26246, 0.62912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.48239, 0.62304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.3871, 0.60618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -27.91305, 0.58094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -30.85742, 0.55097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -33.9594, 0.52003 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -36.97679, 0.49109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -39.72308, 0.46603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -42.06756, 0.44566 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -43.91871, 0.43011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.20803, 0.41905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -45.88077, 0.41196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -45.89292, 0.40827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.21065, 0.40736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.80878, 0.40862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.66861, 0.41146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.7807, 0.4152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -35.16078, 0.41907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.88072, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -26.09903, 0.42363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -21.06002, 0.42287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -16.04171, 0.41992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.27455, 0.41535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.88369, 0.40997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.88767, 0.40443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.75932, 0.39913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.11632, 0.39413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.222, 0.38936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.08564, 0.38473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.69455, 0.38018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 15.02619, 0.37572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.05729, 0.37139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.76984, 0.36729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.15675, 0.36349 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.22748, 0.3601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 22.0105, 0.35716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.54963, 0.35468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.49654, 0.33994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.83517, 0.33905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.04709, 0.33843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.16437, 0.33803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.20234, 0.33782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.16698, 0.33778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.06574, 0.33789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.91473, 0.3382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.73906, 0.33871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.56814, 0.33948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.42954, 0.34055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.34239, 0.34195 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.30886, 0.34369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.30158, 0.34578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.24977, 0.34819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 19.03173, 0.35096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.48265, 0.35418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.42024, 0.35805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.68184, 0.36279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 13.16251, 0.36863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.84685, 0.37568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.83024, 0.38387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.3229, 0.39301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.37404, 0.40292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -7.92417, 0.41357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -12.0281, 0.42517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.48334, 0.43813 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.21016, 0.45288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.24007, 0.46978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.67671, 0.48903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.64345, 0.51077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.23568, 0.535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.499, 0.56146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.44819, 0.58922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -23.12519, 0.61612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.66905, 0.63851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.34629, 0.65188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.49083, 0.6524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.36244, 0.63878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -25.01822, 0.61295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.29483, 0.57921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -29.90033, 0.54263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.5305, 0.5075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -34.938, 0.47664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -36.94515, 0.4513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.42836, 0.43168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.30103, 0.41728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.50512, 0.40733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -39.0098, 0.40095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.81058, 0.39725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.92436, 0.39539 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.38183, 0.39462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.22726, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.53562, 0.39344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.44266, 0.39173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -18.1604, 0.38869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -13.94658, 0.38439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -10.03005, 0.37929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.53793, 0.37407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.47273, 0.36931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.74589, 0.36529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.76139, 0.36203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.1443, 0.35936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.44759, 0.35704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.66784, 0.35487 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.77296, 0.35273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.7219, 0.35058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.47481, 0.34845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 15.99614, 0.34636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.25849, 0.3444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.25056, 0.34263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 18.98465, 0.34114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.49654, 0.33994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 17.00204, 0.32863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.30506, 0.32846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.50254, 0.3285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.63017, 0.32872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.70025, 0.32909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.70875, 0.32958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.64891, 0.33019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.52197, 0.33093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.34077, 0.33184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.12773, 0.33295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.91155, 0.33432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.72278, 0.33599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.58458, 0.33796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.49488, 0.34024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.40326, 0.34279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.19439, 0.34564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.69195, 0.34889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.68848, 0.35272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 12.99249, 0.35737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.47763, 0.36306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 7.12297, 0.36981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 3.03851, 0.37751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.53336, 0.38588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.25294, 0.3947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -10.75528, 0.40402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.73459, 0.41415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -18.00461, 0.4256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.51538, 0.43883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.33018, 0.45414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.57616, 0.47169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.38281, 0.49153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.82705, 0.51374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.90882, 0.53832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.57447, 0.5649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.78707, 0.59207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.61917, 0.6168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -21.31865, 0.63459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -20.2828, 0.6408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.91499, 0.63274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.44132, 0.61106 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.82064, 0.57942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -23.79876, 0.54292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -26.03576, 0.50642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.21078, 0.47341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -30.0679, 0.44572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.42116, 0.4238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.14739, 0.40724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.18112, 0.39519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.51099, 0.38665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.17075, 0.38067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.22135, 0.37641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.73067, 0.37316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.76779, 0.37032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.42355, 0.36739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.84529, 0.36396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.24864, 0.35988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.87533, 0.35533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.91135, 0.35072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.42075, 0.34654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33792, 0.34311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.48408, 0.34053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.2029, 0.33869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.9285, 0.33738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.69834, 0.33636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.48875, 0.33542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.24658, 0.33448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.91695, 0.3335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.45326, 0.33249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.81411, 0.33149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 14.96185, 0.33053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.87096, 0.3297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.54103, 0.32905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 17.00204, 0.32863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 14.96359, 0.32006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.20964, 0.32032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.3663, 0.32078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.47694, 0.32142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.55561, 0.32219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.59256, 0.32307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.56956, 0.32405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.47374, 0.32513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.30416, 0.32634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.07287, 0.3277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.80498, 0.32925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.53711, 0.33102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.3079, 0.33301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.13542, 0.33522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 13.98568, 0.33763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.74852, 0.34026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.23973, 0.34323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.23594, 0.34673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.53064, 0.35101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 7.99181, 0.35619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.60729, 0.36225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.50991, 0.36898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -4.02855, 0.37607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.64587, 0.38333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -12.97328, 0.39089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.72071, 0.39918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.72721, 0.40873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -21.96541, 0.42 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.51116, 0.43319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.49261, 0.44822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -25.02959, 0.46493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.18027, 0.48314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.91908, 0.50276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -24.16409, 0.52356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.84999, 0.5447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -21.02057, 0.56419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -18.89741, 0.57886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.87245, 0.58516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.39628, 0.58063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.80898, 0.56511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.21749, 0.54076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.48564, 0.5112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.31333, 0.48029 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.33918, 0.45119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.22123, 0.42591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.68496, 0.40524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.5464, 0.38908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.71834, 0.37683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.20178, 0.36767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -23.06119, 0.36082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.38703, 0.35558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.26157, 0.35142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.75135, 0.34789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -13.93623, 0.34461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -10.95393, 0.34128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -8.01421, 0.33776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.35098, 0.33417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.13328, 0.33078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39609, 0.32789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.03605, 0.32569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.13214, 0.32422 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.29426, 0.32334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.56939, 0.32285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 4.98362, 0.32256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.48967, 0.32229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.01178, 0.32199 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.48294, 0.32164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.8546, 0.32124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.08595, 0.32084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.135, 0.32046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 13.96587, 0.32017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.56712, 0.32002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 14.96359, 0.32006 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.32234, 0.31383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.49756, 0.31435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.59226, 0.31507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.66052, 0.31596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.72246, 0.317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.76715, 0.31814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.76869, 0.31938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.70253, 0.3207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.55491, 0.32211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.32702, 0.32362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 13.03845, 0.32525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.72799, 0.32702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.44367, 0.3289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.21561, 0.3309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 12.01796, 0.333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.74073, 0.33526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.19338, 0.33783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.14584, 0.34089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.3915, 0.34464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.80927, 0.34916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.40901, 0.35431 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.64894, 0.35982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -6.07142, 0.36537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.49301, 0.37084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.56253, 0.37647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -18.01783, 0.38273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.72027, 0.39016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.64894, 0.39914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.87003, 0.40977 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.49324, 0.42179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.62169, 0.43475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.30767, 0.44816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.53602, 0.46163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -22.25128, 0.47484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.42157, 0.48729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -18.11018, 0.49799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.51887, 0.50541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -12.97588, 0.50785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.86444, 0.50402 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.51889, 0.49367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.13224, 0.47769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.70766, 0.45791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.0624, 0.43651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -12.87711, 0.41551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.77467, 0.39644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.40578, 0.38013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.5165, 0.36682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -17.98069, 0.35629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.7933, 0.34809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -17.03035, 0.34172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.79221, 0.33673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.15775, 0.33277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.17745, 0.32953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.91154, 0.32673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.4837, 0.32413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -5.09891, 0.32159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -2.99263, 0.31914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.33435, 0.31694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.15056, 0.31517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.68283, 0.31395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.37916, 0.31326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.14798, 0.31302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.11623, 0.31305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.29849, 0.3132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.62388, 0.31334 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 6.99427, 0.31342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.33132, 0.31344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.58637, 0.31341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.72188, 0.31336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.69431, 0.31333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.45945, 0.31336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 12.99557, 0.31351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.32234, 0.31383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.03675, 0.30968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.13648, 0.31037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.15613, 0.31124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.16281, 0.31228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.1863, 0.31347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.21862, 0.31477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.22975, 0.31614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.18599, 0.31758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.06258, 0.31908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.85126, 0.32063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.56648, 0.32224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.24729, 0.3239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.94558, 0.3256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.69461, 0.32731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.46723, 0.32907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.14805, 0.33095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.54197, 0.33311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.42171, 0.33575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.59461, 0.33899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 3.96438, 0.34281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.57144, 0.34702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.39776, 0.35126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.64099, 0.35526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -11.80708, 0.35899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.57478, 0.36271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.71006, 0.36693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.08585, 0.37214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.6723, 0.37865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.51284, 0.38647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.69374, 0.39524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.30965, 0.40434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.43186, 0.41309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -21.09524, 0.42091 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -19.3154, 0.42745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -17.1284, 0.43252 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.62824, 0.43593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -11.98041, 0.43736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.40893, 0.43641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -7.16855, 0.43266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.51094, 0.42592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.64117, 0.4164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66232, 0.40473 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.52449, 0.39188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -7.01045, 0.37881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.77943, 0.36638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.4593, 0.35521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.74764, 0.34561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.47692, 0.33765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.62101, 0.33117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.24904, 0.32596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.45518, 0.32179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.3044, 0.31848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.82623, 0.31585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -7.0593, 0.3137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.11135, 0.31186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.18073, 0.3102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.5056, 0.30871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26248, 0.30746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.51969, 0.30654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.97427, 0.30602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.33409, 0.3059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.82799, 0.30608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.59019, 0.30646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.62588, 0.30691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.84388, 0.30733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.1263, 0.30768 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.3845, 0.30796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.56947, 0.30819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.64667, 0.3084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.57137, 0.3086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.29157, 0.30884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.77537, 0.30919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.03675, 0.30968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.06568, 0.30746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.09693, 0.30826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.03976, 0.30922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 10.97601, 0.31034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 10.94842, 0.31159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 10.95546, 0.31294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.96564, 0.31434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.9377, 0.31578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.83708, 0.31723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.64762, 0.3187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.38005, 0.32017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 10.07318, 0.32163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.77851, 0.32307 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.52492, 0.32447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.27646, 0.3259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.90906, 0.32746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.22672, 0.32931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 7.01426, 0.33161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 5.10444, 0.33443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.43469, 0.33764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -0.9219, 0.34098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -4.75993, 0.34409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -8.78168, 0.34672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.66182, 0.34891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.11106, 0.35094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -18.91579, 0.35329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -20.94963, 0.35639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.16727, 0.36048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.59122, 0.36552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.29505, 0.37116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.38252, 0.37677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -19.96552, 0.38167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -18.14904, 0.3853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -16.02997, 0.38742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.7053, 0.38809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -11.27791, 0.38755 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.85511, 0.38605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.5488, 0.3837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.48649, 0.38044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.82572, 0.3761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.74652, 0.37063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.4025, 0.36414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.84429, 0.35694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -2.96133, 0.34942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.48641, 0.34196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.07216, 0.33492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.40328, 0.32853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.28587, 0.32295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.67148, 0.3182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.6139, 0.31423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.19326, 0.31097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.45673, 0.30836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.41252, 0.30631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -5.07762, 0.30471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.54145, 0.30346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -1.99047, 0.30245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.6601, 0.30165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.26761, 0.30108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.7569, 0.30077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.94176, 0.30076 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 1.06526, 0.30103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.36916, 0.30151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 1.99354, 0.30213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.93782, 0.30281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 4.09673, 0.30346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.3377, 0.30405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.56331, 0.30458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.72279, 0.30505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.78237, 0.30548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.69467, 0.30589 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.39942, 0.30632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.85403, 0.30683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.06568, 0.30746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.35817, 0.30702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.34201, 0.30793 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.22039, 0.30896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.09099, 0.31011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 10.01244, 0.31136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 9.99289, 0.31267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 10.00135, 0.314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.98934, 0.31531 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.91233, 0.3166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.74666, 0.31786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.50017, 0.31908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.21112, 0.32025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.92788, 0.32137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.67037, 0.32246 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.39028, 0.3236 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 7.95562, 0.32491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.17504, 0.32655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.85395, 0.32862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.85831, 0.33111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 1.16287, 0.33384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.13015, 0.33647 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -5.80649, 0.33865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.58393, 0.34019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.16737, 0.34114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.29478, 0.3418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.76434, 0.34257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.44596, 0.34384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28382, 0.3458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.29341, 0.34841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.55308, 0.35138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -19.18955, 0.3542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.3587, 0.35634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -15.22553, 0.35739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -12.94616, 0.35722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.65147, 0.35599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.4332, 0.35404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.33962, 0.35174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.39129, 0.34929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.61811, 0.34672 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -1.10068, 0.34391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), 0.01609, 0.34074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.56223, 0.33714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.42623, 0.33317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.36382, 0.32896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.61576, 0.32462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -3.02843, 0.32033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.3001, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.22927, 0.31245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.75303, 0.30907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.91112, 0.30613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.76996, 0.30365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.36118, 0.30162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.67498, 0.30002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.70869, 0.29883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.53167, 0.29797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.31248, 0.29739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.27545, 0.29705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.39826, 0.29694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.66659, 0.29706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.65796, 0.2974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.61596, 0.29794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.78712, 0.29864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.31501, 0.29946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.19775, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.32417, 0.30121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.55392, 0.30205 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.78319, 0.30284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.95762, 0.30357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.04095, 0.30425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 8.98092, 0.3049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.70789, 0.30555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.1675, 0.30624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.35817, 0.30702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.84841, 0.30822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.82174, 0.30925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.66442, 0.31036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.48994, 0.31152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.37511, 0.31273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.34073, 0.31393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.35803, 0.3151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.37126, 0.3162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.32472, 0.31722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.18607, 0.31817 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.95947, 0.31905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.68158, 0.31986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.39587, 0.32063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 8.11198, 0.32141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.77022, 0.32229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.23504, 0.32342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.32658, 0.32492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.8776, 0.32684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.79148, 0.32909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), 0.07959, 0.33143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.1329, 0.33351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.63179, 0.33499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.15621, 0.33572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.44008, 0.33574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.24276, 0.33534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.37081, 0.33488 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.69516, 0.33468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.16286, 0.33493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.79955, 0.33562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.70151, 0.33656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -17.01938, 0.33741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -14.9377, 0.33779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.65266, 0.33746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.34735, 0.33636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -8.16396, 0.33461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -6.17982, 0.3325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.4015, 0.33031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.78878, 0.32822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.30552, 0.32627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), 0.02454, 0.3244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.0912, 0.32248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.7274, 0.32043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.79066, 0.31822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.25357, 0.31585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.24682, 0.31333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -0.97674, 0.31071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.14066, 0.30808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04823, 0.30553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.63041, 0.30315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.91798, 0.30098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.96857, 0.29909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.8046, 0.29749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.4048, 0.29622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.75122, 0.29528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.89333, 0.29467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.97707, 0.29435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.20726, 0.29429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.24428, 0.29447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.33293, 0.29486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.178, 0.29543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), 0.01475, 0.29616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), 0.08586, 0.29703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.53559, 0.29801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.36529, 0.29907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.46678, 0.30019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.69981, 0.3013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.95723, 0.3024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.1796, 0.30345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.32507, 0.30445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.33426, 0.3054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.12713, 0.30631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.63622, 0.30724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.84841, 0.30822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.45483, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.47056, 0.31206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.32407, 0.31327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.1424, 0.31444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 9.02115, 0.31557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 8.99597, 0.31662 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.04237, 0.31757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.09788, 0.31839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.0947, 0.31908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 8.98987, 0.31966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.7815, 0.32015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.50231, 0.32058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.18961, 0.321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.84374, 0.32149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.39788, 0.32215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.71948, 0.32314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.64685, 0.32452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 4.04482, 0.32631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.85541, 0.32835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -0.8761, 0.33037 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -4.00703, 0.33201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.32781, 0.33298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.59892, 0.33311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.57954, 0.33248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -16.04823, 0.33131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.8245, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.79257, 0.32862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.91804, 0.32761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.24912, 0.32691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.90257, 0.32643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -15.04211, 0.32598 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.85751, 0.32534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.54645, 0.32436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -8.29336, 0.32298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -6.24018, 0.32128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.45662, 0.31942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.92921, 0.31759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.58499, 0.31591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.34716, 0.31444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.8012, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.78141, 0.3119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.43959, 0.31069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.62187, 0.30943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.26647, 0.30808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.45776, 0.3066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.40583, 0.30499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.64035, 0.30328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.49413, 0.30152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.08505, 0.2998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.43906, 0.29818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.61047, 0.2967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.62005, 0.29541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.44338, 0.29435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.05358, 0.29357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.48261, 0.29308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.85128, 0.29288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.33832, 0.29297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.09807, 0.29331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.17243, 0.29386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.45214, 0.29457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.71687, 0.29542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.73499, 0.2964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.36421, 0.29752 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.40404, 0.29877 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.47261, 0.30013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.70885, 0.30155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 4.00578, 0.30299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.29825, 0.30441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.53655, 0.30578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.65289, 0.3071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.55667, 0.30838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.16655, 0.30962 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.45483, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.08438, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.20844, 0.31607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.13642, 0.31741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 9.00317, 0.31861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.92043, 0.31965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.93919, 0.32052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.04136, 0.32121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.15997, 0.32173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.21602, 0.32208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.15475, 0.3223 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.96524, 0.32242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.67294, 0.3225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.30751, 0.32261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.86205, 0.32285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.26799, 0.32335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.40247, 0.3242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 5.12736, 0.32548 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.34202, 0.32713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 1.02637, 0.32895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.74322, 0.33065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -4.80891, 0.3319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -7.9647, 0.33243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -10.988, 0.33211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.65983, 0.331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.7811, 0.32929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.19565, 0.32727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.81633, 0.32521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.63982, 0.32331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.74082, 0.32168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.24982, 0.32028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.32773, 0.31903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -11.14879, 0.31783 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.89168, 0.31656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.72725, 0.31516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.79267, 0.31366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -3.15788, 0.31212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.80704, 0.31065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.65603, 0.30932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.39317, 0.30818 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.38548, 0.30721 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.27016, 0.30639 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 2.91225, 0.30565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.15931, 0.30494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.9304, 0.30419 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.27589, 0.30332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.36961, 0.30231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.43414, 0.30116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.35536, 0.2999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.92861, 0.2986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.30839, 0.29732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.54914, 0.29611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.67627, 0.29501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.6702, 0.29408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.50236, 0.29337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.19126, 0.29293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.83255, 0.29277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.57487, 0.2929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.54881, 0.2933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.78824, 0.2939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.19272, 0.29468 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.56008, 0.29559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.67431, 0.29664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.39686, 0.29787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.70928, 0.29929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.30808, 0.30087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.53595, 0.30258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.87085, 0.30438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.24223, 0.30619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.5917, 0.30799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.84316, 0.30974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.89696, 0.31143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.65876, 0.31305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.08438, 0.31461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.6441, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 8.94806, 0.32085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.02663, 0.32238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 9.0129, 0.32363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.02745, 0.32459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.13367, 0.32529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32142, 0.32572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.52336, 0.32595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.65308, 0.326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.64521, 0.32592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.4777, 0.32577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.16526, 0.32561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.72794, 0.32552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 8.15325, 0.32561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.37543, 0.326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.2864, 0.32679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.77479, 0.32797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.77481, 0.32945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.30252, 0.33101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.53626, 0.33235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.56728, 0.33317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.58286, 0.33326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.37101, 0.33253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.73303, 0.33103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.49931, 0.32895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.55154, 0.32651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.84438, 0.32398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.4118, 0.32155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.35164, 0.31933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.79732, 0.31739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.89319, 0.31569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.78523, 0.31418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.62311, 0.3128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.5576, 0.31147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.71921, 0.31018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -2.18271, 0.30892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -0.94115, 0.30774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.08546, 0.30669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 1.00162, 0.30579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 1.86987, 0.30507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.6638, 0.3045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.27094, 0.30407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.5494, 0.30369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.41032, 0.30331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.87944, 0.30283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.09922, 0.30219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.26658, 0.30136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.54415, 0.30039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), 0.00146, 0.29933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.38103, 0.29825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.65864, 0.29718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.86471, 0.29618 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.99043, 0.2953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.01209, 0.2946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.93966, 0.29413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.84554, 0.29395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.84694, 0.29406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.04692, 0.29443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.46671, 0.29503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -2.01184, 0.29579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.49807, 0.2967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.72638, 0.29778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.56282, 0.29906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -1.97819, 0.30058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.03352, 0.30234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.16839, 0.3043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.52978, 0.3064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.97563, 0.30858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.43938, 0.31079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.83835, 0.31298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.06729, 0.31512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 8.02254, 0.31717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.6441, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.06008, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.60982, 0.32593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.91791, 0.32766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.10336, 0.32899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.28356, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52703, 0.33046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.8311, 0.33069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.13307, 0.33069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.34579, 0.33054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.39759, 0.3303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.25558, 0.33004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.92135, 0.32981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.40331, 0.3297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.68364, 0.32981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.70173, 0.33025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.36664, 0.33105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.5943, 0.33219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.35234, 0.33352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.30897, 0.33478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.25445, 0.33569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.28968, 0.336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.19858, 0.33557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.77445, 0.33438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.83954, 0.33251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.26122, 0.33012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.96913, 0.32744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -15.96635, 0.32466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.32357, 0.32196 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -14.1549, 0.31946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.58741, 0.31724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.74157, 0.31532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.73108, 0.31368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.67481, 0.31227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.70184, 0.31104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.93465, 0.30992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.4536, 0.3089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.26584, 0.30797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.69491, 0.30715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.52845, 0.30646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.30618, 0.30592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 3.02234, 0.30556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.58923, 0.30533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.88257, 0.3052 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.81454, 0.30508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.39344, 0.30485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.73333, 0.30444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 2.00441, 0.3038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.35408, 0.30297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.84957, 0.302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.4751, 0.30098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.17583, 0.29995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.08953, 0.29896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.32542, 0.29806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.51742, 0.29731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.67153, 0.29679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.84001, 0.29653 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.10947, 0.29657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.55367, 0.29687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.17762, 0.29739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -2.88869, 0.29808 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.51759, 0.29893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -3.88102, 0.29995 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -3.84992, 0.30121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.3854, 0.30275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.53021, 0.30459 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.37089, 0.30668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), 0.00112, 0.30899 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.50726, 0.31145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.07417, 0.31398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.61548, 0.31655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.02547, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.19746, 0.32156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.06008, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.29834, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.14198, 0.33085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.74749, 0.33277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.2079, 0.3342 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.62288, 0.33512 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.05509, 0.33559 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.50586, 0.33572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.92102, 0.33563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.22027, 0.33544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.33233, 0.33523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.21675, 0.33507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.86199, 0.33503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.2635, 0.33516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.3972, 0.33554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.2073, 0.33623 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.61916, 0.33724 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.57405, 0.33848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 2.07033, 0.33973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.80921, 0.34071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -3.89867, 0.34114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -6.97891, 0.34084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.82015, 0.33975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.21851, 0.33797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.01934, 0.33564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.13157, 0.33296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.53575, 0.3301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.28174, 0.32722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.47102, 0.32444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.2268, 0.32187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.66538, 0.31957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.88324, 0.31759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -7.96508, 0.31593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -6.00247, 0.31456 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -4.10399, 0.31343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.38244, 0.31249 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.9216, 0.31168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.25689, 0.31098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.20084, 0.31039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 1.99763, 0.3099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.72004, 0.30956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.3791, 0.30938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 3.9129, 0.30935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.22019, 0.30942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.22151, 0.30949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.91355, 0.30944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.38349, 0.30916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.77181, 0.30861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.20589, 0.3078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.74719, 0.30681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.38344, 0.30574 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.06264, 0.30464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.73837, 0.30359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.39405, 0.30261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.03346, 0.30179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.34853, 0.30117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.78728, 0.30082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.34074, 0.30075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.05292, 0.30093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -2.90954, 0.30132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.81508, 0.30188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.61046, 0.30257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.12549, 0.30345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.23636, 0.30458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -4.8976, 0.30601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.1377, 0.30777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -3.03014, 0.30985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.66129, 0.31221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.11269, 0.31477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.53732, 0.31749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.20192, 0.3203 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78052, 0.32313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.17113, 0.3259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.29834, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.37863, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.53789, 0.33534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.4836, 0.33739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.27496, 0.33892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 9.9814, 0.33991 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.64803, 0.34043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.27415, 0.34062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.81485, 0.34064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.20208, 0.34064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.37158, 0.34072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.28033, 0.34095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.90612, 0.34139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.23179, 0.34208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.22595, 0.34305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.83538, 0.34433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 6.9985, 0.34584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.67805, 0.34741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.89983, 0.34875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.22185, 0.34952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.48831, 0.34944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.65196, 0.34841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.46687, 0.3465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.73266, 0.34395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.32017, 0.34101 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.18019, 0.33792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.33983, 0.33485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.88728, 0.3319 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -13.94569, 0.32915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.64178, 0.32663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -11.08125, 0.3244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.34218, 0.32248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.48823, 0.32089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.59032, 0.31961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.73931, 0.31862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -2.03676, 0.31786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.56588, 0.31728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.64012, 0.31684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.60996, 0.31649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.41411, 0.31626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.1209, 0.31614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.75383, 0.31616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.27624, 0.31633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.61323, 0.31658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.69919, 0.31681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.52379, 0.31688 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.14804, 0.31666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.67891, 0.31611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.21745, 0.31524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.8142, 0.31414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.45884, 0.31294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.10442, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.70379, 0.31053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.23221, 0.30945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.68466, 0.30852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.05612, 0.30781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.67404, 0.30734 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.5369, 0.30714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.54658, 0.30716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.66656, 0.30735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.79337, 0.30767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.77316, 0.3081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.4462, 0.3087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.69529, 0.30953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.47316, 0.31068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.80034, 0.3122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.74244, 0.31407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.38317, 0.31626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.80679, 0.31873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.09473, 0.32142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.66876, 0.32426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.3927, 0.32718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.98651, 0.33009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.37863, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.37229, 0.33705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.84058, 0.33952 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.13503, 0.34162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.27986, 0.34325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.30837, 0.34439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.24017, 0.34514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 12.06594, 0.34563 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.747, 0.34605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.22828, 0.34654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.45566, 0.34723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.3876, 0.3482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 12.9947, 0.34949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.24901, 0.35113 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 11.11146, 0.35312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.52891, 0.3554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.44884, 0.35782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.85127, 0.36008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.78675, 0.36176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.59886, 0.36245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.0718, 0.36184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.35391, 0.35992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.1837, 0.35696 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.36726, 0.35338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.80255, 0.34957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.47895, 0.34587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.46115, 0.34243 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.86407, 0.33933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.82287, 0.33656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.46376, 0.33413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.88473, 0.33201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -9.15356, 0.33023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.32259, 0.32878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.45004, 0.32766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.6127, 0.32686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.8999, 0.32633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.39003, 0.32602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 0.87702, 0.32588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 1.91338, 0.32585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.77142, 0.32592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.51082, 0.32609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.16299, 0.32636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.71378, 0.32673 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.115, 0.32714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.31774, 0.32749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.30767, 0.32763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.12031, 0.32742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.826, 0.32681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.49361, 0.32584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.157, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.80486, 0.32325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.39632, 0.32188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.88773, 0.32057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.25167, 0.31939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.47854, 0.31838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.56542, 0.31758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.49365, 0.317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.70325, 0.31663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -3.04651, 0.31642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.46136, 0.31631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.83158, 0.31624 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -7.00435, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.82922, 0.31632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.19852, 0.31664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.06947, 0.31729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.46203, 0.31832 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.43972, 0.31975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.08626, 0.32156 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.48825, 0.3237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.72828, 0.32612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.11408, 0.32876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.95981, 0.33153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.7333, 0.33434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.37229, 0.33705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.38036, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.1279, 0.34409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.74587, 0.34616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.22905, 0.34791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.57722, 0.34935 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.78324, 0.35054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.82487, 0.35163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.66435, 0.35278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.25517, 0.35416 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.55135, 0.35588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.51318, 0.35804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 14.10589, 0.36067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.29236, 0.36379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 12.0259, 0.36735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.25153, 0.37121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.92271, 0.3751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 5.03416, 0.37854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.6608, 0.38093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -2.0177, 0.38167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.72935, 0.38045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.16457, 0.37739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.04926, 0.37299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.20022, 0.36795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.54358, 0.36288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -16.10238, 0.35819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -15.9691, 0.35407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.27444, 0.35056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -14.15753, 0.34761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.74158, 0.34515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -11.12021, 0.34311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.3583, 0.34146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.5056, 0.34018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.61479, 0.33927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.75258, 0.33872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -1.99605, 0.33848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.41523, 0.33851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 0.94855, 0.33873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.09529, 0.3391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 3.06068, 0.33954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 3.89351, 0.34005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.62818, 0.3406 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.26792, 0.34119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.78786, 0.34174 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.15499, 0.34216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.35216, 0.34232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.39071, 0.3421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.30374, 0.34145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.12472, 0.34042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.86608, 0.33913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.51147, 0.33771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.02498, 0.3363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.36881, 0.33499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.5177, 0.33382 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.46297, 0.33283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.20809, 0.332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.23536, 0.33132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.84305, 0.33074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.56395, 0.33017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.3062, 0.32954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -6.93659, 0.32881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.30105, 0.32802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.25964, 0.32729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.7191, 0.32678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.64844, 0.32661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.07434, 0.32687 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.06352, 0.32759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.70171, 0.32875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.07712, 0.33032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.2717, 0.33222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.3594, 0.33441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.59244, 0.3368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.52287, 0.33928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.38036, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.49734, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.48124, 0.35038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.37457, 0.35245 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 9.15213, 0.35443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.78917, 0.35633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.25694, 0.35824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.51989, 0.36028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.53615, 0.3626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.26077, 0.36536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.64955, 0.36868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.66059, 0.37266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.25183, 0.37735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.37611, 0.38273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 12.97776, 0.38871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 10.99781, 0.39505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.39371, 0.40127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.175, 0.40661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.44477, 0.41015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.57664, 0.41105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.57284, 0.40894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.20152, 0.40418 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.18016, 0.39765 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.34169, 0.39041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.64202, 0.38337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -17.13393, 0.37705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -16.93018, 0.3717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -16.1696, 0.36732 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -14.99036, 0.36381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.51161, 0.36104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.8251, 0.35889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -9.99751, 0.35727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -8.08148, 0.35612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -6.12908, 0.35542 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -4.20015, 0.35514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.36033, 0.35523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.66931, 0.35564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 0.83446, 0.35629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.14384, 0.35708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.28091, 0.35795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.28271, 0.35883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.18169, 0.35968 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 5.99103, 0.36047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.70197, 0.36115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.29299, 0.36163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.74353, 0.36181 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.04326, 0.36163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.19118, 0.36108 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.18626, 0.3602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 8.01698, 0.35913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.65742, 0.35798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.07259, 0.35689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.22938, 0.35592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.10703, 0.3551 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.70253, 0.35438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 2.03162, 0.35371 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), 0.12961, 0.35298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -1.94387, 0.35208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.09704, 0.35088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.20247, 0.34932 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.1066, 0.34743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.65443, 0.34532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.72067, 0.34323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.2333, 0.34137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.18062, 0.33994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.60257, 0.33904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.57302, 0.33871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.1808, 0.33893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.51475, 0.33965 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.65493, 0.3408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.66986, 0.34233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.61751, 0.34413 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.45244, 0.34614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.49734, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.77641, 0.35866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 4.95257, 0.36065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 7.06672, 0.36283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 9.08343, 0.36522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 10.96442, 0.36786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.66763, 0.37084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 14.14724, 0.37429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.35474, 0.37835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.24042, 0.38318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.75431, 0.38893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.84536, 0.39572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.45861, 0.4036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.53184, 0.41257 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 13.99545, 0.42244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.7817, 0.43278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.84936, 0.44277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.2251, 0.45117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.04968, 0.45649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.40113, 0.45749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.75338, 0.45379 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.62769, 0.44615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.73779, 0.43609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -16.94039, 0.42528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -18.22558, 0.41499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.67541, 0.40594 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.41968, 0.3984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.60212, 0.39235 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.35841, 0.38763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.80391, 0.38403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -13.02967, 0.38136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -11.10573, 0.37947 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -9.08909, 0.37826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -7.0329, 0.37763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -4.99188, 0.37754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -3.0214, 0.37791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -1.17041, 0.37866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.52814, 0.37969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 2.06393, 0.38089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.44865, 0.38215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.70753, 0.38338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 5.86621, 0.38452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 6.9392, 0.38553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 7.92437, 0.38636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.80486, 0.38697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.5553, 0.38735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.14762, 0.38748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.55329, 0.38739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.7417, 0.38717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.67749, 0.38693 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.32045, 0.38678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.62957, 0.3868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.57069, 0.38698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.12522, 0.38725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.29786, 0.38746 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 3.12269, 0.38737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.66818, 0.38674 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -1.95909, 0.38533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.61508, 0.38298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.12849, 0.37971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.32285, 0.37571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -11.04556, 0.37132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.19307, 0.36695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.72276, 0.36294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.64949, 0.35956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.03151, 0.35692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -10.95252, 0.35507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.50494, 0.35396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.77743, 0.35353 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.84762, 0.35369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.77968, 0.35436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.62547, 0.35546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.57225, 0.35692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.77641, 0.35866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 2.21161, 0.37641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.54461, 0.37842 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.83372, 0.38097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 9.04061, 0.38411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 11.12247, 0.38791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 13.03183, 0.3925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.71718, 0.39803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 16.12365, 0.40469 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 17.19334, 0.41266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.86473, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 18.07067, 0.43339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.73551, 0.44645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.77313, 0.46131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 15.0899, 0.47769 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.59919, 0.49482 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.25454, 0.51124 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.10267, 0.52474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.33897, 0.53278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.67764, 0.53341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.49034, 0.52638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.67307, 0.51333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -16.94273, 0.49701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -19.19279, 0.48002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.45763, 0.4642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.85341, 0.45046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.52857, 0.4391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.63257, 0.43001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -18.29967, 0.42295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.64235, 0.41759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.75106, 0.41365 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.69788, 0.4109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.54247, 0.40913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -8.33781, 0.40821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -6.13362, 0.40801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -3.97607, 0.40841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.9042, 0.40928 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), 0.05503, 0.4105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 1.89018, 0.41194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.60478, 0.41346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.2122, 0.41496 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 6.72733, 0.41637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.15823, 0.41766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.50043, 0.41882 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.73525, 0.41989 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 11.83142, 0.42089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.74811, 0.42193 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.43755, 0.4231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.84666, 0.42452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 13.91828, 0.42631 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.59335, 0.42856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.81548, 0.43125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53851, 0.43425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.73712, 0.43728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.41991, 0.43987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.64289, 0.44143 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.51966, 0.44133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -1.77788, 0.43912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -5.0344, 0.43465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -8.02196, 0.42819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.53861, 0.42036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.4401, 0.41194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.65421, 0.40369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.17665, 0.39615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.05532, 0.38967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.37069, 0.38438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.21807, 0.38027 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.69383, 0.37727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -8.88631, 0.37525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -6.8709, 0.37411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.70885, 0.37373 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.44889, 0.37403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.13059, 0.37494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 2.21161, 0.37641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.73834, 0.40747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 4.2064, 0.4098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.64112, 0.41315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 9.00525, 0.4176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 11.2567, 0.42328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 13.3479, 0.43039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 15.22555, 0.43914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.83023, 0.44981 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 18.09536, 0.46273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 18.94516, 0.47825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.29151, 0.49671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 19.03048, 0.51839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 18.04083, 0.54332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.18964, 0.57104 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.35384, 0.60019 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.4684, 0.62802 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.60305, 0.65032 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.96261, 0.66232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.73619, 0.66084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -12.13486, 0.64627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.67469, 0.62244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -20.09308, 0.59441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -22.34577, 0.5664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.53043, 0.54098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.80774, 0.51922 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -23.34974, 0.5013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -22.31437, 0.48695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.83618, 0.47569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -19.0253, 0.46704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -16.97023, 0.46055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.74225, 0.45584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -12.40007, 0.45262 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -9.99381, 0.45062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.56729, 0.44964 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -5.1585, 0.44949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.79839, 0.45 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.5091, 0.451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 1.69695, 0.45234 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 3.81613, 0.45389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 5.8503, 0.45557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 7.80174, 0.45731 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.66773, 0.45912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.43614, 0.46105 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.08282, 0.4632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.57107, 0.46572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 15.85234, 0.46878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 16.86758, 0.4726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.54847, 0.47738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.81893, 0.4833 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.59737, 0.49044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.80141, 0.49875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.35692, 0.50789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.21374, 0.51717 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.36915, 0.52546 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 6.89578, 0.53129 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 2.96307, 0.53315 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.16539, 0.52999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.17103, 0.52172 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -8.74646, 0.50931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.65804, 0.4944 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.77667, 0.47872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.07274, 0.46368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.58998, 0.45014 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.41552, 0.43853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.65558, 0.42896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.41897, 0.42131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.80707, 0.41543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -9.90856, 0.4111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -7.79749, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.53362, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.16464, 0.40575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -0.72941, 0.40612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.73834, 0.40747 + 1);
}

TEST(GeoLookupTest, inclination)
{
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.60572, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.6222, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.65364, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.70078, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.7629, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.83769, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.9202, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -65.00162, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.06833, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.10205, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.08135, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -60.98437, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.79234, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.49374, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.08874, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.59374, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.04527, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.50222, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.04514, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.77127, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.78451, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.18048, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -48.0289, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.35764, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.14366, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.31505, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.76397, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.36591, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -54.99877, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.55669, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -57.95646, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.13759, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.05913, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.69653, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.04136, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.10425, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.91953, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.54852, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -60.07822, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.61367, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.26389, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -59.12504, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.266, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.72085, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.4894, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.54372, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.83734, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.31458, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.9185, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.5966, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.30404, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -71.00408, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.66606, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.26171, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.76106, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.12944, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.3268, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.31053, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.04192, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.49532, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.66628, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.57336, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.25196, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.74393, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.08913, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.32145, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.46839, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.55241, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59245, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.60494, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.60408, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.60148, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.60572, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.20397, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.22352, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.25082, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.28675, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.33153, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.38549, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.44831, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.51697, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.58368, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.63466, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.65031, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.60676, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.47842, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.24219, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.88347, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.40426, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.83192, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.22641, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.68288, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.32707, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.30154, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.74298, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.75353, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.37411, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.57009, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.237, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.22486, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.37083, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.52748, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.57878, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.4425, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.06253, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.39731, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.41102, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.07233, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.36188, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.28519, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.88501, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.24769, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.49917, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.78885, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.26357, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -60.04021, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.18727, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.72054, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.6109, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.79805, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.20536, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.75264, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.36565, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -68.98152, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.54963, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.02874, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.38191, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.57253, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.56439, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.32705, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.84439, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.12071, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.17939, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.05419, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.77848, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.37838, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.8714, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.26888, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.57931, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.81088, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.97314, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.07778, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.13868, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17094, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.18888, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.20397, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.40027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.40661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.4155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.42585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.43623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.44755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.46314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.48647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.51791, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.55211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.57644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.57013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.50449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.34545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.06048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.63096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.06798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.42709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.81615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.39145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.33944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.84358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -41.04127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -41.98347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.61492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -45.78752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.30191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -50.95701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.58745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.07944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.36623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.41028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.18108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.63849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.72894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.39646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.60397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.35573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.71279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.79675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.77887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.85223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.19254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.92263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.09505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.69498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.65677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.8852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.27563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.7297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.16475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.51604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.73309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.77377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.60153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.1895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.5298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.64068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.56364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.35017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.25344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.7713, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.2212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.59521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.8896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.10566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.25008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.33496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.37679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.40027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.02949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -58.0062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.98005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.94524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.90029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.84982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.80255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.76736, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.7494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.74662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.74589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.71925, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.62325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.40607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.02483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.4705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.79224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.11168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.61947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.55071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.13902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.55638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -37.85752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -39.95652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -42.65239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -45.69187, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -48.83664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -51.90771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -54.79892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.4647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -59.89218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -62.06907, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -63.95965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.49763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.59855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.18656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.22445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.73564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.81361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.6195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.36424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.27082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.52542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.23878, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.43297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.05319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -62.99436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.13104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.34272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.52925, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.61479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.54246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.26682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.75225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.98101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.96521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.75097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.40728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -69.00373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.5889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.18005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.76659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.32286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.82194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.24423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.57918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.82382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -63.98177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.06394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.08865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.07856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.01056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.93272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.86274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.79181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.7074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.60236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.47937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.34971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.22908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.13291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.07115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -43.04085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -42.01731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.9491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.76508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.39779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.81905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.30639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.74351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.6732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.37808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -31.05881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -32.76534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.37358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -38.6262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -42.2164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -45.86956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.39155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -52.67908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -55.70144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.46543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -60.97659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.20981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.09939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.55067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.46799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.78776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.50321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.67509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.43329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -63.97206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.52837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.33603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.5696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.30553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.51787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.10467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.92839, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.8532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.76778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.58984, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.25747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.7189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.93283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.88219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.59084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.12678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.58369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.04884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.5742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.16481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.78756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.39298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.93679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.39103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.74306, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -59.98943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.13255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.18242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.15947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.09251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.01056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.11234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.95529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.8216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.69853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.56499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.40505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.21581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -41.0076, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.79994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.61646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.47814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.39215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.33732, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.25466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.05487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.64923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.9969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.14979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.27591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.64973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.60743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.47141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.45876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.6062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -29.75173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -33.58915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -37.76559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -41.97095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -45.98795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -49.70149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -53.0788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.1328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -58.88088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.31275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.37741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -64.99192, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.06635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.53399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.37454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.62478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.38252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.81039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -61.13101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.59571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.42499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.74767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.5742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.3331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -58.98411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.65468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.26118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.73674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -61.01826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.05028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.80712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.31738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.66829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -58.98, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.36115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.86926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.49574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.84777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.43366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.90473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.25046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.47059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.56798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.55199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.44553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.28544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.11234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.22494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.95716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.73963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.55687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.37795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.17524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.93663, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.66789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.3891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.12911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.91719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.76801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.66177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.53122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.2715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.78003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.01459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.04479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.07351, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.41773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.45067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -16.82729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.40742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -23.06871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -27.47719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -32.24899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -37.03919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -41.59411, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -45.76548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -49.49621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -52.7884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -55.66424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.13271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.17268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.73568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.76284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.20584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.04382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.29502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -61.02837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.37676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.54283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.77802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.32562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.34849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.88485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.85896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.57032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.05867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.51956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.88254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.07027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -55.00711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.65203, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -54.03334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.25628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.47034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.81011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.34129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.04033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81664, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.56111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.19106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.66812, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -48.98711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.15392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.17341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.0547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.82391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.52847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.22494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.27074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.85964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.53783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.28905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -29.07177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.84396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.58082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.28035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.96046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.65266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.39116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.19388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -19.03846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.84848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.50837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.91255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.03133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.9627, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.94543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.32668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.49272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -6.77969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.38751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.32462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -15.40504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -20.29845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -25.61069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -30.96372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -36.05334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -40.67674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -44.7321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.19655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -51.09222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.45284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.30158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.6439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.47053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.76404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.50728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.69818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.37426, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.64072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.68572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.76219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -48.12777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.96378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.3209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.12684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.54054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.91473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.29771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.61867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.78621, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.70212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.30589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.62166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.77107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.93438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.2754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.87021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.67943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.42158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.10493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.58548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.86502, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -40.95741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.87063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.61417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.21868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.74512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.27074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.28178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.70387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.26465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.94966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.70681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.47742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.22082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.92443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.60228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.28695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -12.01492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.80312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.62303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.38969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -6.98421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.3106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.3636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.27329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.69548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.18877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.83747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.33741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.51437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -2.64069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -6.97063, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -12.18071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -17.88929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -23.69232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -29.22837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -34.22747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -38.53133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -42.08454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -44.90674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -47.05941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.61757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.64954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.20236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.29207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.9044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -49.01393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.62329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.80891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.74801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -39.94225, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.66666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.9275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.64588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.67918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.89571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.2095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.56439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.89349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -39.09434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -39.04698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.6702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -37.981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -37.11407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.27844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.66695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.36671, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.32292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.37603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.34464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.1006, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.59572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.83816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.84981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.64229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.22635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.63867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -26.95645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.28178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.45481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.71059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.1589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.7901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.54294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.34126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -7.12614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.87219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.58835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.30761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -2.06712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.88054, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.28761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.52689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 2.95027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.63349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.55237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.55143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.35924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.64234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 12.07478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.39987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.47025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 6.2655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 1.89644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -3.39816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -9.26964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -15.30456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -21.09473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -26.30777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -30.73017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.27277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -36.9492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -38.8436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.07765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.77818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.04523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.92636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.40956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.44618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -38.00377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -36.12941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -33.98933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.85238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -30.01038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.67059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.88565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.56611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.55948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.73466, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -28.01783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.36876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.72898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -28.99059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -29.01688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.70818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -28.07262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.25234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.47769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -25.96441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.80873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.94309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.17836, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.30069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.15939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.69856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -24.92945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -23.87986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.56476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -20.99706, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.22074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.33047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.45481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.17372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.29987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.66619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.27098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 0.95259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.09631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.23752, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.41568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.62804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 6.84198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 8.02021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.1519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.27614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.4798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.86095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.4696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.25582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.05323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.60552, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.62114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.83115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 20.03033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 18.09575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 14.99349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 10.78864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 5.66208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), -0.08284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -6.04802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -11.80872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -16.99653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.35884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -24.77662, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.25014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -28.87135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.79122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.18034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.18291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.87544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.25032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.24013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.78161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.8942, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.73082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.56267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.69153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.3319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.53527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.20424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.17853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.32685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.58539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.92951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.31338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.63221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.74252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.53326, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -17.00384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.29567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.64641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.28161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.30144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.63113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.36454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.36368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -15.99509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.26734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.20958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -12.83875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.17056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.2564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.20675, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.17372, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.04596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.97747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.64026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 10.02522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.19891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.26314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.31051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.39395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.6519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.75842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.82698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 19.89394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 21.03508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.32702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.7944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.37067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.89403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.1391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.86624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.86539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 27.97934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 26.10855, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 23.21315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 19.32813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 14.59022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 9.25584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 3.68378, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -1.72512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -6.60807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -10.7023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -13.8689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -16.08734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.43797, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.07722, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.19844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -17.9767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.51375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.81078, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.79072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.36872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.5409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.44261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.33468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.51311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.18915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.41281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -4.08606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -4.04841, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.1705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.39535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.71066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -5.08575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.42915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.60505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.5028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -5.11565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.57461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -4.10616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.92739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.13505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.65475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.27969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.76935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -5.94431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.72593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.12969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.79228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.11889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.83348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.94423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.04596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.69349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.59183, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.2216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.56086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.66877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.64857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.60144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.59083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.62919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.68968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.73586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.75435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.77241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.84783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.03291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.33066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.66741, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.8966, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.83031, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.28044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 36.08987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 35.14387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.368, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.72951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 27.25435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 23.05454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 18.34527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 13.43046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 8.6529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 4.32915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.69937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -2.09418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -4.00936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.10045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.50691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.42121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.03139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.71223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.72272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.39561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.28958, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.22039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.16257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 5.84506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.07226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.79601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.10598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.15258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 7.87865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.61717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.29085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 6.96959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.76694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.77956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 7.0157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.36268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.62252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.60394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.54061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.7523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.08331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.71277, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.73107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 5.15508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 5.97199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 7.16967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.72938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.59257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.63743, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.69349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.40769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.18461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.72342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 27.98935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 29.02798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 29.93449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.80978, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.72266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.69288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.69951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.70826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.7014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.69303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.71945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.80887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.06036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 42.02092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.67719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.88575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.53352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.54284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.86755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.49451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.45821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.86148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 26.88509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 22.77243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.79079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 15.18635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 12.15281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.8181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 8.238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.38768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.15868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.38013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.87111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.50583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.25593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.1813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.36823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.84562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.52745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.21952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.69141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.7731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.41877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.70261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.75592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.69082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.55904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.36543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.11574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 18.85569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.66756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.6238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.72893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 18.89159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 18.95177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.75423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.22875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.52204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.70219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.13998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.93385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 15.11826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.69574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.6614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 17.99852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.6521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.5087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.40769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.04299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.62739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.02818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.20088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.17423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 37.02747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.85209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.71561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.64259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.61896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.61419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.60665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.59667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.59934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.6212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.63532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.56959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.31538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.75122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.76905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.29068, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.27077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.69328, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.57198, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 40.95916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 37.95616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.71397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 31.41747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 28.25794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.4075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 23.00545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 21.15393, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.91085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.27436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.17001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.46086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.98945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.63613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.36116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.20314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.23082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.4735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 25.87088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.27444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.50214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.41507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 29.97104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.22582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.2864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.2497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.16537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 30.04103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 29.87676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.69697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.55197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.48653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.49754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.5127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.40971, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.07057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.44221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.56932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58205, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.64829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.91911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.49533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.4263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.72967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.45174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.81056, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.38776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.04299, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.64232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.98623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.21475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.27952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.19311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 43.01416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.81717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.66123, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.57145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.53959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.53989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.54866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.55492, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.5558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.54028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.47181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.28128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.87515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.1551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 54.03941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.47681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.44952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 50.97029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 49.0802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.84992, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.38012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.7952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 39.22901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.8081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.64137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.81912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.41501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.47987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 30.02458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 30.00322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.31501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.83408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.13486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.88749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.76034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.77717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 35.89879, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 37.02003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 38.00701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.7534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.22279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.45364, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.52761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.5237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.48725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.42885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.34652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.24895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.15974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.09846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 39.05305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 38.9653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.74415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.30382, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.60727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.69103, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.6584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.64654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.78654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.17606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.87343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.90766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.28955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 34.01142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 35.03558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.28383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.64232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.36787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.44884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.48563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.43285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.29062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.0962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.90253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.75418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.67163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.64949, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.66643, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.69867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.72778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.73809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.70601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.58858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.31962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.81704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 58.99933, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.80391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.20003, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 57.19237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.81765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 54.13889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 52.23963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 50.21702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 48.17209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 46.19862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.37511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.76439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.41962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.38923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.71227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.40318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.43553, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.73948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.22081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.79434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.41343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.07728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.81099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.63001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.51027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.38282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.15654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.75616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.15313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.37211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.47133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.51084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.52854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.53583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.52986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.50892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.47714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.43455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.36094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.20757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 46.90676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.39809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.65846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.71985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.66531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.60654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.65528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.90172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.40667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.20509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.31231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.72497, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.41517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.32461, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.36787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.43887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.26132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.10472, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.93197, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.73583, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.53475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.3594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.23657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.17771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.17652, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.21435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.2683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.31613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.3346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.29261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.14399, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.82568, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.26447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.39126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.15781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.54901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.58651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.32403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.83798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 57.21692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.55086, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.92126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.39353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 51.01495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.81929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.83512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 48.09139, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.61435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.41584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.48021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.7604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.69945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.2491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.82541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.43677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.09039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.77219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.44091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.04035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.52245, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.8677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.09107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.2309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.32871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.41232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.49058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.55903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.60899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.63153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.61314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.52774, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.33317, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 53.97898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.42434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.65832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.71153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.65312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.57133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.72212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.08522, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.69646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.57296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.71468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.10271, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.69698, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.43887, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.08744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.68118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.34803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.06147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.81133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.60199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.44503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.34998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.31751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.33753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.45795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.51231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.5279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.47015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.29234, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.93515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.33301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.42704, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.18052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.59051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.6904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.54337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.23052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.83813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.4464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 59.1211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.90938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.84081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.93341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.20144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.66026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.32463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.20089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.27787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.5233, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.88968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.32761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.79997, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.28889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.79195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.31026, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.83615, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.34816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.8163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.21436, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.53163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.7769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 59.97281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.14418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.30728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.46529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.61029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.72807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.80105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.80716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.7171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.49445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.10231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.5158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.73499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.79159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.74559, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.67361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.65423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.75572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.02941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.50848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.20985, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.13609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.27609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.08744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.52092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.06735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.76077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.53095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.37608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.29251, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.27152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.29843, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.35384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.41541, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.45845, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.45441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.36757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.15227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.75336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.11248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.18008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.92974, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.36827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.53639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.50038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.33908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 66.1313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.94618, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.83718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.84032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 61.97638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.25624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.68691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.27515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 60.02686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.94256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 60.01207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.21209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.50914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.86723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.25646, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.65838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.06543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.47548, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.88509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.28585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.66569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 64.01405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.32725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.61044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.87475, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.13115, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.38446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.63025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.85527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.03991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.16039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.18953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.09734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.8534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.43281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.82468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.03945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.11136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.09428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.05272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.05134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.14645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.38117, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.78422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.37131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.14707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.10681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.23778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.52092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.88592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58253, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.10844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.7405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.47046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.28937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.18607, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.14612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.1517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.18221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.21485, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.22424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.18089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 73.04877, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.78361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.33423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.64891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.68692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.43152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.89771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 73.13043, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.1946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.16238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 70.1024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 69.07254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 68.11642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.26305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.52911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.92287, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.44817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.10697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.89937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.8216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.86342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.00702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.22863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.50265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.8066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.1247, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.44862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.77554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.10488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.43591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.76712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.09745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.42767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.76065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.09967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.44534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.79263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.12918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.43542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.68612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.85248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 70.90428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.81261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.55374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.11423, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.49601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.71915, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.82083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.85042, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.86241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.90928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.03614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.2777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.65781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.19051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.8819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.73196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.73598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.88592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.24505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.44995, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.78101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.23217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.79606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.46371, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.22408, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.06366, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.96642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.91396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.88577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.85916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.80858, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.70404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.50936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.18129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.67164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.93421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.93629, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.67018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.15811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.44731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.59882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.67597, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.73623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.8267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 71.98259, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.22775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.57648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 70.03606, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.60922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.29576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.09294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 68.99494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.99208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.07062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.21384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.40425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.62625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.8683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.1239, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.39109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.67108, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 70.96672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.28135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.61815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 71.97968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.36703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.7785, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.20792, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.64315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.06524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.44874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.76308, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 74.97507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.05243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 74.96821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.70561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.26201, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.65083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.90047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.05046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.14623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.23375, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.35512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.54565, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.83257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.23509, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.7654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.43023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.23223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.17124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.24505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.57826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 71.00416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.3865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.87444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.45998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.13292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.88085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.68917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.54127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.41844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.29947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.15969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 78.96956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.69316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.28788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.70737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.90951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.86857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.58545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 80.08898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.42751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.65682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.83049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 76.99477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.18654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.43337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.75433, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.16149, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.66136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.25637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.94586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.72659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.59295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.5488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.61725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.73124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.88104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.05952, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.26282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.49027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.74386, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.02729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.34484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.70034, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.53132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 76.00181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.49779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 77.00335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.49576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 77.94567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.31848, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.57737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.68815, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.62551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.37866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.95425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.37516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.67595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.89718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.08029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.26387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.4814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.7602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.12125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.57972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.14586, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.8261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.62409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.54143, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.57826, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength)
{
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58483.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57346.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56195.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 55040.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53886.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52736.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51589.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50438.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49272.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 48075.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46829.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45518.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 44128.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42653.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 41098.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39476.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37810.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 36135.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34489, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32916.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31461.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30162.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 29048.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28136.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27422, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26887.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26501.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26224.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 26015.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25841.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25677.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25513.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25350.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25201.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 25092.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 25058.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25141.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25389, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25849, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26562.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27557.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28846.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30426.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32275.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34358.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36633.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39050.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41559, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44111.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46661.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49170.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51603.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 53927, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56109.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58121.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 59933.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61520, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62861.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 63945.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64769.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65337.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65661.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65757.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65643.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65340.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64869.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64248.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63499.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62640.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61691.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60670.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59596.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58483.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56316.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55123.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53922.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52721.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51527.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50343.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49171, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 48005, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46835.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45645.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44416.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 43128.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41764.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40314.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38778.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37166.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35499.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33810.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32143.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30549.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 29082, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27792.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26721.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25889.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25294.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24912.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24698, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24597.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24558.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24535.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24499, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24433.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24337.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24220.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 24105.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 24026.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 24030.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24175.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24523.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25137.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26062.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27326.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28928.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30846.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33038.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35446.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 38007, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40654.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43326.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 45970.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48541.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 51004.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53327.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55483.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57444.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59183.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60679, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61915.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62886.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63595.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64052.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64272.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64273.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64075.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63696.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63155.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62468.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61653.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60729.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59714.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58627.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57489.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56316.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53963.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52742.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51515.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50292.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 49077.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47876.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46690.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45518.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44354.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43183.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 41987.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40748, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39446, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 38068.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36609, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 35071.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33469.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31833.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30207, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28645.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27212.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25971.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24972.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24244, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23784.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23560.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23516.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23587.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23709.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23835.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23934.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 23988.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 23995.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23957.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23889, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23813.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23771.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23825, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 24048.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24521.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25314.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26475.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28019.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29926.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32150.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34623.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37264.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 39990.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42725.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45403.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 47975, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50403.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52659.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54719.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56558, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58153.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59491.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60563.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61374.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61935.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62265.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62382.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62303.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62043.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61616.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61037, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60317.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59471, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58514.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57464.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56342.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55169.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53963.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51454.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50230.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 49004.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47783.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46570.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45369.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44185.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 43019.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41870.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40728.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39580.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38408.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37197.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35929.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34593.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33184.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31706.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30182.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28652.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27175.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25821.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24663.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23760.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23145.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22816.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22734.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22835.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23046.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23303.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23559.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23789.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23982.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24131.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24232.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24281.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24285.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24268.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24283.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24408, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24734.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25355.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26343.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27737.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29534, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31691.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34136.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36774.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39506.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42238.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 44892.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47411.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49755.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 51895.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53807.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55471.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56869.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 57994.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58853.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59465.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59857, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60052.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60071.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59926.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59625.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59174, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58579.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57851.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 56999.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56036.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54979.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53848.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52666.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51454.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48803.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47603.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46406.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45214.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 44028.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42853.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41693.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40553.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39435.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38337.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37251.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36165.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 35066, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33935.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32756.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31514.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30203.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28836.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27450.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 26103.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24868.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23822.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 23029.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22525.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22307.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22334.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22540.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22852.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23209.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23573.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23930.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24273, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24596.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24884.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25115.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25272.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25357.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25405.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25484.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25690.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26128.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26895.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28057.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29641, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31620.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 33928.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36464.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39114.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41769, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44337.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46754.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 48973.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 50964.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52699.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54157.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55322.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56200.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56815, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57205.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57414.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57476.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57407.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57211.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56883.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56422.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55827.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55106.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54266.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53318.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52276.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51161, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 49995.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48803.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46039.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44892.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43752.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42619.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41493.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40374.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39268.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38183.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37123.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36093.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35090, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34108.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33137.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32162, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31158.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30105, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 28987.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27809.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26603.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25421.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24336.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23422.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22743.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22335.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22197.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22293.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22561.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22936.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23365.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23820.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24294.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24787.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25293.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25785.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26225.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26574.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26809.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26946.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 27035.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27164, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27438.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27969, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28850.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30140.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31844.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 33911.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36242.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38717.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41215.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43634.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 45900.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 47963.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49783.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51327.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52567.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53490.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54111.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54472.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54637, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54667.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54603.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54459.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54224.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53881.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53416.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52828, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52121.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51304.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50387.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49382, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48305.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47183.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46039.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43221.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42158.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41106.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40066.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 39033.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 38006.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 36992.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 35998.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 35033.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34102.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33209.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32353.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31527.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30716.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29896.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 29040.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28128.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27159.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26154.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25162.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24245.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23469.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22893.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22553.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22455.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22574.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22863.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23268.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23747.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24277.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24855.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25480.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26814.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27440.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27967.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28357.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28603.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28738.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28831, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 28978.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29295.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29892.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30858.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32230.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 33980.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 36025.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38243.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40509.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42717.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44786.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46661.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48297.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49648.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50678.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51371.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51750.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51876.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51834.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51704.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51532.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51326.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51061.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50706.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50239.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49656.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48966.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48180.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47306.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46355.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45341.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44289, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43221.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40458.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39508.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38576.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37660.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36753.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35855.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34972, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34110.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33279.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32485.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31734.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 31027.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30360.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29721.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29086.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28429, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27726.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26971.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26178.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25382.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24632.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 23983.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23485.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23175.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23070.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23163.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23428.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23829.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24332.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24915.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25569.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26288, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27056.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27840.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28587.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29237.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29743.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30086.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30278.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30368.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30436.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30589.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30944.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31609, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32646.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34056.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35770.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37676.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39654.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41598.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43430.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45092.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46531.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47694.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48533.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49029.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49207.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49141.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48933.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48675, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48415.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48156.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47863.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47492.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47018.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46438.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45764.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45011.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44189.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43307, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42377.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41420.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40458.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37905.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37097.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36311.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35545.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34792.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34054, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33333.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32640.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31980.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31358.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30780.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30245.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29751.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29289.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28840.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28378.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27880.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27334.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26745, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26131.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25529.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 24978.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24523.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24201.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 24041.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24057.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24249.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24601.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25088.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25685.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26370.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27125.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27929.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28747.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29532, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30230, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30795.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31201.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31446.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31558.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31596.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31653, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31841.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32274.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33029.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34124.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35507.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37083.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38744.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40395, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 41963.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43393.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44629.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45611.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46285.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46626.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46659.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46463.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46144.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45795, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45467, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45157.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44826, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44427.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43935.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43350.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42688.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41968, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41202.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40400.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39571.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38734.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37905.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35740.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35095.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34476.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33877.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33296.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32734.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32199.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31698.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31235.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30813.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30431.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30088.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29780.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29501.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29236, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28962.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28657.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28302.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27889.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27426.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26934.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26444.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 25994, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25622.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25366.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25262, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25331.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25580.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 25995.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26548.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27205.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27933.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28703.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29482.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30232.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30911.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31483.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31918.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32206.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32357.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32414.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32449, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32562.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32860.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33419.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34263.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35356.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36621.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 37970.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39323.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40622.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41814.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42846.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43658.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44193.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44425.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44374.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44112.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43736.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43332.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42946.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42576.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42187.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41739.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41210.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40606.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39948.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39256.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38547.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37830.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37115.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36415.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35740.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34122.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33649.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33204.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32779.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32373.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 31993.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31650, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31351.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31099.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30892.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30721.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30582.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30469.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30377.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30294.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30199.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 30067.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29872.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29598.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29240.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28814, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28343.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27863.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27413.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 27037.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26783.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26692.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26791.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27076.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27522.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28087, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28728.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29410.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30101.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30772.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31395.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31940.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32382.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32707, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32913.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 33029.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33110.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33239.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33501.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33960.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34636.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35502.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36503.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37573.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38655.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39702.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40670.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41510.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42167.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42589.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42751.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42667.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42391.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 42001.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41565.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41121.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40672.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40194.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39665, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39073.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38430.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37759.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37084.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36423.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35789, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35190.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34634.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34122.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33146.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32837.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32559.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32301.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32063.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31857.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31700.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31600.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31560.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31570.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31616.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31687.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31775.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31872.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31967.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 32038.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 32056.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 31987.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31808.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31512.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 31107.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30619.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 30081.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29535.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 29030.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28619.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28356.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28280.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28398.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28689.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29113.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29625.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30187.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30770.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31352.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31911, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32424.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32869.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33230, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33502.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33705.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33881.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34093.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34399.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34840.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35426, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36135.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 36932.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37777.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38635.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39471, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40248.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 40924.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41452, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41788.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41910.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41824.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41566.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41183.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40722, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40209.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39655.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39056.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38409.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37721.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37010.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36302.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35622.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 34990.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34422.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33926.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33503.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33146.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32829, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32659.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32526.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32416.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32331.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32286.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32302.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32391.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32552.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32772.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 33031.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33311.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33599, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33883.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34149.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34372.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34516.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34545, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34428.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34158.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33742.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33209.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32595.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31945.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31313.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30758.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30337, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30092.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30039.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30162.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30426.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30792.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31226.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31704.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32209, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32719.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33214.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33670.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34070.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34412, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34711.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35003.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35328.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35720.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36194.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36746.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37359.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 38015.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38698, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39390.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40071.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40709.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41266.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41701.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 41981.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42088, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42018.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41786, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41412.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40918.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40323.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39642.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38894.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38097.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37278.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36465.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35688.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34972.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34339.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33805.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33380.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33060.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32829, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33132, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33062, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33042.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33056.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33105, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33205.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33380, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33641.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 33987.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34402.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34860.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35337.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35815.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36278, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36704.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 37064, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37317, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37422.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37348.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 37084.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36642.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 36050.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35352.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34601.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33854.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33176.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32626.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32245.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32047.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 32020.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32136.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32365, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32682.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33071.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33516.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 33998.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34490.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34966.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35406.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35811.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36198.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36594.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37026.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37506, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38028.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38578.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39142, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39713.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40295.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40886.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41473.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 42030.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42521.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 42912.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43172.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43284.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43237.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43028.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42655.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42119.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41431.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40615.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39703.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38739.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37764.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36820.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35941.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35154.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34483.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33945, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33546.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33283, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33132, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33997.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33981.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34037.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34148.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34312.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34543.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34862.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35279.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35791, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36377.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 37011, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37663.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38310.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38930.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39497.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 39975.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40321.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40491.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40451.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40191.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39721.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 39074.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38300.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37457.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36615.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35841.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35193.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34710, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34402.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34259.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34255.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34371.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34591.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34906.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35306.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35768.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36263.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36757.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37232.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37686, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38135.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38604.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39110.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39652.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40213.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40773.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41320.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41858.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42397.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 42946.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43500, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44033.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44513.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 44904.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45180.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45317.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45300.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45109.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44728.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44146.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43369.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42424.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41357.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40227.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39092.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 38003.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 37002.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36118.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35377, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34793.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34376.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34118.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33997.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35375.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35370.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35467.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35647.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35907.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36255.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36705, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37260.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37914.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38644.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39422.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40215.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 40998.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41743.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42421.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 42992, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43410.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43632.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43624.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43371.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42885.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42200.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41368.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40458.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39543.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38696.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 37976.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37417.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 37027.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36794.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36698.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36724, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36863.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37115.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37470.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37908.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38395.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38896.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39388.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39868.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40350.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40855.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41394.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 41964.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42545.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43119.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43676.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44221.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44770.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45333.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 45905.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46464.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 46977.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47407.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47725.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 47904.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 47919.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47744.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47353.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46730.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45880.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44832.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43639.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42370.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41094.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39871.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38749.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37761, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36931.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36277.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35805.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35511.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35375.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37230.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37206.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37315.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37541, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37877.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38324.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38886.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39559.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40329, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41170.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 42052.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42945.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43818.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44645.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45391.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 46019, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46482.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46738.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46754.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46513.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 46026.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45325.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44465.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43516.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42557.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41661.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40885.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40264.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39804.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39496.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39321.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39270, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39338.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39526.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39829.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40226.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40685.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41170.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41657.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42138.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42624.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43132, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43672, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44242.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44830, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45420.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 46007, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46595.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47197.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47818.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48450.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49071.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49646, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50138.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50513.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50740.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50789.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50629, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50231.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49581.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48683.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47570.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46297.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44937.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43563.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42242.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41024.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39947.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39035.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38305.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37764, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37410, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37230.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39531, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39474.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39577.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39827.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40217.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40740.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41387.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42146.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 42996.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43908.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44851.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45794.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46708, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47564.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48330.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 48970.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49443.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49707.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49732.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49502.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 49025.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48332.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47474, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46520.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45545.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44622.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43806.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43130.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42605.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42224, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41974.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41849.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41846.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41966.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42204, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42540.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 42946.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43389.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43845.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44304, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44771.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45260.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45782.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46341.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 46930.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47544, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48177.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48833.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49515.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50222.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 50940.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51643, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52293.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 52855.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53289.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53562, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53640.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53493, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53095.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52436, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51522.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50389.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49091.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47700.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46289.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44925.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43660.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42532.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41565.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40776.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40174.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39760.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39531, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42224.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42139.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42228.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42486.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42901.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43463.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44156.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44957.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45839.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46773, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47725, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48665.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49566.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50399.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 51137, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51744.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52186.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52429.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52444.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52219.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51759.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 51091.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50263, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49334.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48375.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47449.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46610.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45890.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45305.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44853.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44530, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44330, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44252.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44296, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44454.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44712.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45044.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45422.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45826, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46244, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46679.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47141.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47643.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48191.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48787.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49431.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50121.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50854.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51627.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52428.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53236.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 54020.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54744, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55366.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55848.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56156.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56256.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56122.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55734.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55086.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54192.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53086, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51821.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50464, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49083.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47741.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46488.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45361.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44385.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43575.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42942.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42491.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42224.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45210.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45108.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45183.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45430.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45839.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46396.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 47080.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47865.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48722.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49619.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50524, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51407.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52243.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 53006.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53670, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54206, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54585.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54780.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54769.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54541.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 54103.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53475.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52698.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51823.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50907.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 50006.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49168, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48423.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47792.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47280.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46888.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46616, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46461.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46423.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46494.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46662.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46906.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47206.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47545.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 47913.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48312.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48749.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49237, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49783.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50395.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51075.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51820.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52624.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53476.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54356.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55237.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56084.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 56859.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57521.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58034.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58362.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58477.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58358.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 57992.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57381, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56541.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55508.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54331, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53068.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51782.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50526.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49348.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48280.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47347.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46564.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45942.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45489, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45210.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48315.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48211.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48269.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48487.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48854.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49358.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 49977.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50685.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51454.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52254.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 53055.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53831.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54556.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55208.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55764.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56201.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56496.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56628.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56582.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56351.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55939.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55364.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54658.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53860, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 53015.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52169.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51361.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50621.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49970.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49420.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48976.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48641.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48416.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48299.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48284.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48361.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48516.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48736.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 49008, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49326.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49692, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50111, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50592.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51145.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51776.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52487.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53273.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54124.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 55024.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 55947.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56864.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57738.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58530.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59203.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59722.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60056.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60182.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60084.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59758.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59210.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58461, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57543.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56501.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55385.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54247.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53133.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52083.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51126, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50283.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49571.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 49001, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48579.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48315.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51303.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51203, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51238.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51408.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51704, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52112.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52617.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53196, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53823.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54475.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 55126.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55752.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56331.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56845.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57272.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57596.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57798.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57865.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57785.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57554.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57178.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56669, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 56049.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55348.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54600.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53839.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53096.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52397.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51762.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51207.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50739.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50365.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50088, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49906.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49818.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49817.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49896, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50045.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50259.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50534.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50872.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51278.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51757, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52315.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 52955.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53678.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54475.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55334.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56235.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57152.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58054.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 58906.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59674.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60324.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60824.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61152, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61287.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61222.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60956, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60499.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59872.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59105.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58236.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57305.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56354, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55419.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54534.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53724.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 53007.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52398.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51906.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51539.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51303.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53918.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53818.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53822.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53929.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54131.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54419.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54780.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55197.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55652, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 56125.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56597.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 57049.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57464.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57825.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 58117.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58326.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58439.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58446.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58340.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58119.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57787.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57354.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56833.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56246.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55616.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54966.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54320.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53700, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53122, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52601.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52147.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51769.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51471.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51255.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51122, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51068.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51093.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51192.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51363, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51605.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 51919.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52309.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52776.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53323.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 53949.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54649.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55415.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56232, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57079.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 57933.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58765.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59547.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60248.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60841.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61301.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61611.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61757, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61734.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61545.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61201.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60721.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60130.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59456, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58730.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 57986, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57250.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56549.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55902.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55326.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54832.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54428.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54122.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53918.2, 145 + 500);
}
